

package Entidades;

import java.io.Serializable;
import java.util.List;
import javax.persistence.Basic;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.OneToMany;
import javax.persistence.OneToOne;
import javax.persistence.Table;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;

/**
 *
 * @author 824202
 */
@Entity
@Table(name = "instructores")
@NamedQueries({
    @NamedQuery(name = "Instructores.findAll", query = "SELECT i FROM Instructores i")})
public class Instructores implements Serializable {
    private static final long serialVersionUID = 1L;
    @Basic(optional = false)
    @Column(name = "tipodocumento")
    private int tipodocumento;
    @Id
    @Basic(optional = false)
    @NotNull
    @Size(min = 1, max = 25)
    @Column(name = "identificacion")
    private String identificacion;
    @Size(max = 100)
    @Column(name = "horarios")
    private String horarios;
    @OneToMany(mappedBy = "instructorencargado")
    private List<Clases> clasesList;
    @JoinColumn(name = "identificacion", referencedColumnName = "identificacion", insertable = false, updatable = false)
    @OneToOne(optional = false)
    private Usuarios usuarios;
    @JoinColumn(name = "tipoinstructor", referencedColumnName = "id")
    @ManyToOne(optional = false)
    private Tiposinstructor tipoinstructor;
    @JoinColumn(name = "tipocontrato", referencedColumnName = "id")
    @ManyToOne(optional = false)
    private Tiposcontrato tipocontrato;

    public Instructores() {
    }

    public Instructores(String identificacion) {
        this.identificacion = identificacion;
    }

    public Instructores(String identificacion, int tipodocumento) {
        this.identificacion = identificacion;
        this.tipodocumento = tipodocumento;
    }

    public int getTipodocumento() {
        return tipodocumento;
    }

    public void setTipodocumento(int tipodocumento) {
        this.tipodocumento = tipodocumento;
    }

    public String getIdentificacion() {
        return identificacion;
    }

    public void setIdentificacion(String identificacion) {
        this.identificacion = identificacion;
    }

    public String getHorarios() {
        return horarios;
    }

    public void setHorarios(String horarios) {
        this.horarios = horarios;
    }

    public List<Clases> getClasesList() {
        return clasesList;
    }

    public void setClasesList(List<Clases> clasesList) {
        this.clasesList = clasesList;
    }

    public Usuarios getUsuarios() {
        return usuarios;
    }

    public void setUsuarios(Usuarios usuarios) {
        this.usuarios = usuarios;
    }

    public Tiposinstructor getTipoinstructor() {
        return tipoinstructor;
    }

    public void setTipoinstructor(Tiposinstructor tipoinstructor) {
        this.tipoinstructor = tipoinstructor;
    }

    public Tiposcontrato getTipocontrato() {
        return tipocontrato;
    }

    public void setTipocontrato(Tiposcontrato tipocontrato) {
        this.tipocontrato = tipocontrato;
    }

    @Override
    public int hashCode() {
        int hash = 0;
        hash += (identificacion != null ? identificacion.hashCode() : 0);
        return hash;
    }

    @Override
    public boolean equals(Object object) {
        // TODO: Warning - this method won't work in the case the id fields are not set
        if (!(object instanceof Instructores)) {
            return false;
        }
        Instructores other = (Instructores) object;
        if ((this.identificacion == null && other.identificacion != null) || (this.identificacion != null && !this.identificacion.equals(other.identificacion))) {
            return false;
        }
        return true;
    }

    @Override
    public String toString() {
        return "Entidades.Instructores[ identificacion=" + identificacion + " ]";
    }
    
}
